package com.dayu.tcp.protocol;

import lombok.*;

import java.io.Serializable;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class K1BaseMessage implements Serializable {
    /**
     * 引导/魔术 4字节
     */
    private byte[] magic;

    /**
     * 协议版本 4字节
     */
    private int version;

    /**
     * 数据包的业务标识 4字节
     * 需要自定义
     */
    private int messageType;

    /**
     * 数据包的sequenceId 8字节
     * 需要自定义
     */
    private long sequenceId;

    /**
     * 消息体的序列化方式 1字节
     * 0X00-json 0X01-file 0X02-pb
     */
    private byte serializerType;

    /**
     * 消息体压缩方式 1字节
     * 0X00-不压缩 0X01-gzip
     */
    private byte compressType;


    /**
     * 消息体加密方式 1字节
     * 0X00-不加密 0X01-AES加密
     */
    private byte encryptType;


    /**
     * 对齐 5字节
     */
    private byte[] emptyBytes;

    /**
     * 消息体长度
     */
    private int rawDataLength;

    /**
     * 消息体内容
     */
    private byte[] rawData;

}
